题目大意
将整数转为罗马数字
解题思路
来自:博客
I = 1;
V = 5;
X = 10;
L = 50;
C = 100;
D = 500;
M = 1000;
其中每两个阶段的之间有一个减法的表示,比如900=CM, C写在M前面表示M-C。
范围给到3999,感觉情况不多直接打表其实更快,用代码判断表示估计比较繁琐。
然后就是贪心的做法,每次选择能表示的最大值,把对应的字符串连起来。
代码
1 | class Solution(object): |
总结
遍历dict是无法保证其顺序的,所以这道题dict不合适。